package com.ruoyi.system.service.impl;

import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.system.mapper.PermissionMapper;
import com.ruoyi.system.domain.Permission;
import com.ruoyi.system.service.IPermissionService;
import com.ruoyi.common.core.text.Convert;

/**
 * 角色权限（控制员工/部长的会议室申请权限）Service业务层处理
 * 
 * @author ruoyi
 * @date 2025-07-01
 */
@Service
public class PermissionServiceImpl implements IPermissionService 
{
    @Autowired
    private PermissionMapper permissionMapper;

    /**
     * 查询角色权限（控制员工/部长的会议室申请权限）
     * 
     * @param permissionId 角色权限（控制员工/部长的会议室申请权限）主键
     * @return 角色权限（控制员工/部长的会议室申请权限）
     */
    @Override
    public Permission selectPermissionByPermissionId(Long permissionId)
    {
        return permissionMapper.selectPermissionByPermissionId(permissionId);
    }

    /**
     * 查询角色权限（控制员工/部长的会议室申请权限）列表
     * 
     * @param permission 角色权限（控制员工/部长的会议室申请权限）
     * @return 角色权限（控制员工/部长的会议室申请权限）
     */
    @Override
    public List<Permission> selectPermissionList(Permission permission)
    {
        return permissionMapper.selectPermissionList(permission);
    }

    /**
     * 新增角色权限（控制员工/部长的会议室申请权限）
     * 
     * @param permission 角色权限（控制员工/部长的会议室申请权限）
     * @return 结果
     */
    @Override
    public int insertPermission(Permission permission)
    {
        return permissionMapper.insertPermission(permission);
    }

    /**
     * 修改角色权限（控制员工/部长的会议室申请权限）
     * 
     * @param permission 角色权限（控制员工/部长的会议室申请权限）
     * @return 结果
     */
    @Override
    public int updatePermission(Permission permission)
    {
        return permissionMapper.updatePermission(permission);
    }

    /**
     * 批量删除角色权限（控制员工/部长的会议室申请权限）
     * 
     * @param permissionIds 需要删除的角色权限（控制员工/部长的会议室申请权限）主键
     * @return 结果
     */
    @Override
    public int deletePermissionByPermissionIds(String permissionIds)
    {
        return permissionMapper.deletePermissionByPermissionIds(Convert.toStrArray(permissionIds));
    }

    /**
     * 删除角色权限（控制员工/部长的会议室申请权限）信息
     * 
     * @param permissionId 角色权限（控制员工/部长的会议室申请权限）主键
     * @return 结果
     */
    @Override
    public int deletePermissionByPermissionId(Long permissionId)
    {
        return permissionMapper.deletePermissionByPermissionId(permissionId);
    }
}
